
// 功能：根据请求方式和请求路径设置具体的处理函数
//目的是增强代码的可维护性
var fs = require('fs')
//1、专门用来包装路由的
var express = require('express')
//2、创建一个路由
var router = express.Router()
//3、把router挂载到router路由器中
 
var Student = require('./student.js')
router.get('/',(req,res)=>{
	fs.readFile('./db.json','utf8',(err,data)=>{
		if(err){
			return res.send('error')
		}
		res.render('index.html',{
			students:JSON.parse(data).students
		})
	})
})
 
router.get('/students/new', function (req,res) {
	res.render('new.html')
})
 
router.post('/students/new', function (req,res) {
	// console.log(req.body.gender)
	// console.log(req.body)
	//获取表单数据
	//放到db.json文件中，用以持久化
	//回应
		//先读出来，在转成对象，再往对象中push
		//再把对象转字符串，在往文件中写入
	Student.save(req.body, function (err) {
		if (err) {
			return res.status(500).send('Server err！')
		}
		res.redirect('/')
	})
})
 
router.get('/students/edit', function (req,res) {
	// res.render('edit.html')
	Student.findById(parseInt(req.query.id), function (err, stu) {
		if (err) {
			return res.status(500).send('Server err！')
		}
		res.render('edit.html', {
			student: stu
		})
	})
})
 
router.post('/students/edit', function (req,res) {
	Student.updateById(req.body, function (err) {
		if (err) {
			return res.status(500).send('Server err！')
		}
		res.redirect('/')
	})
})
 
router.get('/students/delete', function (req,res) {
	Student.deleteById(req.query.id, function (err) {
		if (err) {
			return res.status(500).send('Server err！')
		}
		res.redirect('/')
	})
})
 
module.exports = router
